﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Viewer.BusinessObject.BusinessEntities;
using Ext.Net;

namespace Viewer.NhanSu.UserControl
{
    public partial class UCQuanHe : System.Web.UI.UserControl
    {

        NSQuanHeGiaDinh quanHe = new NSQuanHeGiaDinh();
        private List<NSQuanHeGiaDinh> lst;
        NSNhanVien nhanvien = new NSNhanVien();
        CommonCode common = new CommonCode();
        protected void Page_Load(object sender, EventArgs e)
        {

        }
        private void ResetControl()
        {
            txtHoTen.Text = string.Empty;
            txtQuanHe.Text = string.Empty;
            dtNgay.Text = DateTime.Today.ToString("dd/MM/yyyy");
            txtGhiChu.Text = string.Empty;

        }
        [DirectMethod]
        public void ShowDialog(string type, string iD, string nhanvienID, string typeParent, string session)
        {
            //gán type quan hệ
            hdQuanHeType.Text = session;
            hdNhanVienId.Text = nhanvienID;
            hdId.Text = iD;
            if (type.Equals("AddNew"))
            {
                wdQuanHe.Title = "Tạo mới quan hệ";
                ResetControl();
                hdType.Text = type;
                btnSaveQuanHe.Hidden = false;
                hdParentType.Text = typeParent;
            }
            else if (type.Equals("Edit"))
            {
                wdQuanHe.Title = "Sửa đổi quan hệ";
                hdType.Text = type;
                btnSaveQuanHe.Hidden = false;
                LoadDataNBL(Convert.ToInt16(iD));
            }
            else if (type.Equals("View"))
            {
                wdQuanHe.Title = "Xem chi tiết quan hệ";
                hdType.Text = type;
                btnSaveQuanHe.Hidden = true;
                LoadDataNBL(Convert.ToInt16(iD));
            }
            wdQuanHe.Show();
        }
        public void LoadDataNBL(int id)
        {
            //get data tùy vào type quan hệ
            if (hdQuanHeType.Text.Equals("QHBT"))
            {
                lst = (List<NSQuanHeGiaDinh>)Session["QHBT"];
            }
            else { lst = (List<NSQuanHeGiaDinh>)Session["QH"]; }
            NSQuanHeGiaDinh item = lst.Where(a => a.QuanHeId.Equals(id)).SingleOrDefault();
            dtNgay.Text = item.NamSinh !=null ? ((DateTime)item.NamSinh).ToString("dd/MM/yyyy"):string.Empty;
            txtGhiChu.Text = item.LyLich;
            txtHoTen.Text = item.HoTenNguoiQuanHe;
            txtQuanHe.Text = item.TenMoiQuanHe;

        }
        protected void btnSaveQH_CLick(object sender, DirectEventArgs e)
        {
            DateTime ngaySinh = Convert.ToDateTime(dtNgay.Text);
            int nhanVienId = !string.IsNullOrEmpty(hdNhanVienId.Text) ? Convert.ToInt16(hdNhanVienId.Text) : 0;

            if (hdType.Text.Equals("AddNew"))
            {
                NSQuanHeGiaDinh item;
                item = quanHe.GetQuanHe(nhanVienId,txtHoTen.Text, txtQuanHe.Text, ngaySinh, txtGhiChu.Text);
                ((UCNhanVien)this.Parent).GetQH(item, hdQuanHeType.Text);
            }
            else if (hdType.Text.Equals("Edit"))
            {
                quanHe.EditQH(Convert.ToInt16(hdId.Text), txtQuanHe.Text, ngaySinh, txtGhiChu.Text, hdQuanHeType.Text, txtHoTen.Text);
                ((UCNhanVien)this.Parent).ReloadGridQuanHe(hdQuanHeType.Text);
            }
            X.Mask.Hide();
            wdQuanHe.Hide();

        }
    }
}